Zmena znaku ve stringu
Otázka od: Rumcajs - konference
14. 10. 2002 7:19
Servus ve spolek,
je v Delphi nejaka fce pro zmenu jednoho znaku ve stringu? Neco jako
ReplaceStr(',', '.', Retezec);
Rumcajs
---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.401 / Virová báze: 226 - datum vydání: 9.10.2002
Odpovedá: Jiri Betunak
18. 10. 2002 19:22
Ahoj,
co takhle
procedure ReplaceString (var s: string; OldString, NewString: string);
var Temp : string;
i : integer;
begin
i := 1;
Temp := '';
while i <> Length (s) + 1 do
begin
if Copy (s, i, Length (OldString)) = OldString then
begin
Temp := Temp + NewString;
Inc (i, Length (OldString));
end
else
begin
Temp := Temp + s [i];
Inc (i);
end;
end;
s := Temp;
end;
>> Servus ve spolek,
>> je v Delphi nejaka fce pro zmenu jednoho znaku ve stringu? Neco jako
>> ReplaceStr(',', '.', Retezec); Rumcajs
LD> StringReplace, dale viz help.
LD> David Lebeda
--
S pozdravem
Jiri Betunak mailto:kindrik@centrum.cz
Odpovedá: ing. Jan Fiala
14. 10. 2002 10:28
Neni, ale neni problem si ji napsat
procedure ZamenZnak(var s: string; const co, cim: char);
var
i: integer;
begin
for i := 1 to length(s) do
if s[i] = co then
s[i] := cim;
end;
popr. by to slo jeste zoptimalizovat pomoci PChar, ale myslim, ze
rychlost bude dostatecna.
--
ing. Jan Fiala
mailto:jan.fiala@iol.cz
14.10.2002 Rumcajs - konference:
> Servus ve spolek,
> je v Delphi nejaka fce pro zmenu jednoho znaku ve stringu? Neco jako
> ReplaceStr(',', '.', Retezec);
> Rumcajs
Odpovedá: Lebeda David
14. 10. 2002 9:04
> Servus ve spolek,
> je v Delphi nejaka fce pro zmenu jednoho znaku ve stringu? Neco jako
> ReplaceStr(',', '.', Retezec); Rumcajs
StringReplace, dale viz help.
David Lebeda
Odpovedá: Lukas Gebauer
14. 10. 2002 7:34
??? Od Delphi 4 prece existuje funkce StringReplace...
> Neni, ale neni problem si ji napsat
> > je v Delphi nejaka fce pro zmenu jednoho znaku ve stringu? Neco jako
> > ReplaceStr(',', '.', Retezec); Rumcajs
-- Lukas Gebauer.
E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Synapse Delphi and Kylix TCP/IP Lib.
Odpovedá: Ing. Pavel Žilinec
14. 10. 2002 7:39
function StringReplace(const S, OldPattern, NewPattern: string; Flags:
TReplaceFlags): string;
--------
ing. Pavel Zilinec
MailTo:zilinec@email.cz
Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju
Rk> Servus ve spolek,
Rk> je v Delphi nejaka fce pro zmenu jednoho znaku ve stringu? Neco jako
Rk> ReplaceStr(',', '.', Retezec);
Rk> Rumcajs
Odpovedá: Pavel Malinsky
14. 10. 2002 10:49
> -----Original Message-----
> From: delphi-l-owner@clexpert.cz
> [mailto:delphi-l-owner@clexpert.cz]On Behalf Of Lukas Gebauer
> Sent: Monday, October 14, 2002 8:30 AM
> To: delphi-l@clexpert.cz
> Subject: Re: Zmena znaku ve stringu
>
>
> ??? Od Delphi 4 prece existuje funkce StringReplace...
Nebo v JCL CharReplace()...
PM
>
> > Neni, ale neni problem si ji napsat
> > > je v Delphi nejaka fce pro zmenu jednoho znaku ve stringu? Neco jako
> > > ReplaceStr(',', '.', Retezec); Rumcajs
Odpovedá: ing. Jan Fiala
14. 10. 2002 9:37
14.10.2002 Lukas Gebauer:
>> > je v Delphi nejaka fce pro zmenu jednoho znaku ve stringu? Neco jako
>> > ReplaceStr(',', '.', Retezec); Rumcajs
> ??? Od Delphi 4 prece existuje funkce StringReplace...
Ano, ale ta je delana na zmenu retezce za retezec, ne znaku za znak.
Dovolil bych si tvrdit, ze ten for cyklu bude rychlejsi.
--
ing. Jan Fiala
mailto:jan.fiala@iol.cz
Odpovedá: Rumcajs - konference
14. 10. 2002 9:48
Bohuzel, ale help mi tuhle funkci neukazuje ... - D6Prof
Rumcajs
> > Servus ve spolek,
> > je v Delphi nejaka fce pro zmenu jednoho znaku ve stringu? Neco jako
> > ReplaceStr(',', '.', Retezec); Rumcajs
>
> StringReplace, dale viz help.
>
> David Lebeda
>
>
---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.401 / Virová báze: 226 - datum vydání: 9.10.2002
Odpovedá: Petr Vones
19. 10. 2002 12:01
From: "Jiri Betunak" <kindrik@centrum.cz>
> co takhle
To je znacne neefektivni implementace, zvlaste pokud jde o nahrazeni znaku a
ne retezce (o vice znacich) ve stringu. Podivej se treba na funkci CharReplace
v unitu JclStrings z JCL.
Petr Vones